Topic 1 Question #1
您正在公司网络中的虚拟机上开发一个新应用程序。该应用程序将使用 Java 数据库连接 (JDBC) 连接到 Cloud SQL for PostgreSQL 数据库。您的 Cloud SQL 实例配置的 IP 地址为 192.168.3.48,并且 SSL 已禁用。您希望确保应用程序无需更改数据库配置即可访问数据库实例。您应该怎么做?
答案: C
本题属于Google Cloud Professional Cloud Database Engineer认证中Cloud SQL安全访问的核心考点,题目场景为公司内部网络VM访问已配置私有IP的Cloud SQL for PostgreSQL实例,要求无需修改数据库配置即可完成访问。首先题目给出的实例IP192.168.3.48属于RFC1918私有地址段,说明实例已配置私有IP,默认仅支持私网链路访问。题目要求无需修改数据库配置,即不能调整Cloud SQL实例的授权IP白名单、SSL配置、公网开关等实例级参数。Cloud SQL Auth代理通过服务账号的IAM权限完成身份鉴权,不需要修改实例侧的任何网络或安全配置,代理自身会自动加密客户端到实例的连接,同时指定连接实例的私有IP匹配现有配置,可通过公司网络与GCP VPC打通的链路(VPN/云互联,题目隐含已满足连通性)正常访问,完全符合题目要求。
各选项分析:
A. 错误,首先Cloud SQL数据库默认使用本地用户名密码完成身份验证,不支持直接使用Google用户名密码登录;其次题目给出的实例为私有IP,不存在可直接访问的公网IP,同时配置公网访问需要调整实例公网开关和IP白名单,属于修改数据库配置的操作,不符合要求。
B. 错误,直接通过私有IP使用数据库用户名密码连接,需要在Cloud SQL实例的授权网络中添加公司VM所在的IP网段,属于修改数据库配置的操作,不符合题目无需更改数据库配置的要求。
C. 正确,Cloud SQL Auth代理使用具有Cloud SQL客户端权限的服务账号完成身份鉴权,无需在实例侧配置IP白名单或调整SSL设置,完全不需要修改数据库原有配置;同时指定连接实例的私有IP,匹配题目给出的实例现有网络配置,可通过已打通的私网链路访问实例,满足所有需求。
D. 错误,题目中的实例仅配置了私有IP,未开通公网IP的情况下无法通过公网IP访问,且开通公网IP需要修改实例的网络配置,不符合无需修改数据库配置的要求,同时公网访问的安全性低于私有IP访问。
关键知识点:
1. Cloud SQL Auth代理特性:Cloud SQL Auth代理是GCP官方提供的Cloud SQL安全连接工具,通过IAM身份认证替代IP白名单配置,自动加密客户端到实例的连接,无需修改实例的网络或SSL配置。
2. Cloud SQL私有IP访问规则:Cloud SQL私有IP基于私有服务访问实现,IP属于RFC1918私有网段,仅能在关联VPC或通过VPN/云互联打通的本地网络内访问,无需暴露到公网。
3. Cloud SQL访问配置要求:直接通过IP地址访问Cloud SQL实例需要提前配置IP白名单,若启用SSL还需要配置客户端证书,使用Cloud SQL Auth代理可以跳过上述实例侧配置。
参考资料:
1. 连接Cloud SQL实例使用Auth代理, https://cloud.google.com/sql/docs/postgres/connect-auth-proxy
2. Cloud SQL私有IP配置, https://cloud.google.com/sql/docs/postgres/private-ip